<?php
// +----------------------------------------------------------------------
// | Created by PHPstorm: [ JRK丶Admin ]
// +----------------------------------------------------------------------
// | Copyright (c) 2019~2022 [LuckyHHY] All rights reserved.
// +----------------------------------------------------------------------
// | SiteUrl: http://www.luckyhhy.cn
// +----------------------------------------------------------------------
// | Author: LuckyHhy <jackhhy520@qq.com>
// +----------------------------------------------------------------------
// | Date: 2020/7/17 0026
// +----------------------------------------------------------------------
// | Description:
// +----------------------------------------------------------------------


namespace app\common\subscribes;


use app\common\model\tang\Cost;
use think\facade\Queue;

class CostSubscribe extends Base
{
    /**
     * 定时执行的方法
     */
    public function onCost()
    {
        // 当轮到该任务时，系统将生成该类的实例，并调用其fire方法
        $jobHandlerClassName = 'app\api\service\Jobs@cost';
        // 2.当任务归属的队列名称，如果为新队列，会自动创建
        // 这个队列名称自由建立，最好和业务相关且不能重复，不然你懂的
        $jobQueueName = "costJobQueue";
        // 3.当前任务所需业务数据，不能为resource类型，其实转换成数组就行，最终都会转化为json形式的字符串，这个数据是测试数据，自己的数据自己进行组装
        $list = (new Cost())->whereNotNull('statment_uuid')->distinct(true)->column('statment_uuid');
        if(count($list)>0){
            foreach ($list as $k=>$v){
                $res['order_id'] = $v;
                $res['time'] = time();
                Queue::push($jobHandlerClassName, $res, $jobQueueName);
            }
        }
    }

}